$(function () {
    $('#loginBox a').on('click', function () {
        // 点击a链接隐藏登录区域，显示注册区域
        $('#loginBox').hide()
        $('#regBox').show()
    })
    $('#regBox a').on('click', function () {
        // 点击a链接隐藏注册区域，显示登录区域
        $('#regBox').hide()
        $('#loginBox').show()
    })

    // 需求2：自定义校验规则
    let form = layui.form
    // verify() 定义校验规则，参数是一个对象
    form.verify({
        // 属性是校验名称，值是校验规则
        // 值有两种类型：函数和数组
        username: [
            /^[a-zA-Z0-9]{1,10}$/,
            '用户名必须是1-10位字母和数字'
        ],
        pwd: [
            /^[\S]{6,15}$/,
            '密码长度必须是6-15位的非空字符串'
        ],
        // 确认密码规则
        repwd: function(value){
            // value就是你给哪个标签加这个规则，这个标签的值就赋值给value
            let pwd = $('#regBox [name=password]').val()
            // 如果原密码值和确认密码的值不相等就报错
            if(pwd !== value){
                return '两次输入密码不一致!'
            }
        }

    })

    // 需求3：注册功能
    let layer = layui.layer
    $('#formReg').on('submit',function(e){
        // 阻止表单默认提交
        e.preventDefault()
        axios({
            method: 'POST',
            url: '/api/reguser',
            // 不要传递对象类型，因为对象类型头信息设置的是application/json
            // content-type: application/json  目前接口文档不支持
            data: $(this).serialize()  // a=1&b=2&c=3
        }).then(({ data:res }) => {
            // 判断返回数据是否正确
            if(res.status !== 0){
                return layer.msg(res.message)
            }
            layer.msg('注册成功!')
            // 清空表单 DOM元素中 有一个reset()方法 可以重置表单
            $('#formReg')[0].reset()
            // 切换到登录模块
            $('#regBox a').click()
        })
    })

    // 需求4: 登录功能
    $('#formLogin').on('submit',function(e){
        e.preventDefault()
        axios({
            method: 'POST',
            url: '/api/login',
            data: $(this).serialize()
        }).then(({ data:res }) => {
            if(res.status !== 0) {
                return layer.msg(res.message)
            }
            layer.msg('登录成功!')
            // 页面跳转到 index.html
            location.href = '/index.html'
            // 存储token
            localStorage.setItem('token',res.token)
        })
    })
})